Drop pointer_emulated discrete scroll events
authorLuca Bacci <luca.bacci982@gmail.com>
Fri, 6 May 2022 11:50:23 +0000 (13:50 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 24 May 2022 12:30:49 +0000 (12:30 +0000)
GTK4 has had smooth scroll events since the beginning, so we
prefer not to emit emulated discrete scroll events at all

gdk/broadway/gdkeventsource.c
gdk/gdkevents.c
gdk/gdkeventsprivate.h
gdk/macos/gdkmacosdisplay-translate.c
gdk/wayland/gdkdevice-wayland.c
gdk/x11/gdkdevicemanager-xi2.c

index 9ae9022a4100474e238424e91eb5c12eda9b6d4e..045c8f30407d5120d4338c9becf18ef1647c90b9 100644 (file)
@@ -189,8 +189,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
                                                message->pointer.state,
                                                message->scroll.dir == 0
                                                  ? GDK_SCROLL_UP
-                                                 : GDK_SCROLL_DOWN,
-                                               FALSE);
+                                                 : GDK_SCROLL_DOWN);
 
         node = _gdk_event_queue_append (display, event);
         _gdk_windowing_got_event (display, node, event, message->base.serial);
index cc06e5e0c0f0992016fee0ca14fb31f7a199f82d..044eb7229284105673e62e8f696276a17a0b71fc 100644 (file)
@@ -920,14 +920,6 @@ gdk_event_get_pointer_emulated (GdkEvent *event)
         return tevent->pointer_emulated;
       }
 
-    case GDK_SCROLL:
-    case GDK_SCROLL_SMOOTH:
-      {
-        GdkScrollEvent *sevent = (GdkScrollEvent *) event;
-
-        return sevent->pointer_emulated;
-      }
-
     default:
       break;
     }
@@ -2373,15 +2365,13 @@ gdk_scroll_event_new_discrete (GdkSurface         *surface,
                                GdkDeviceTool      *tool,
                                guint32             time,
                                GdkModifierType     state,
-                               GdkScrollDirection  direction,
-                               gboolean            emulated)
+                               GdkScrollDirection  direction)
 {
   GdkScrollEvent *self = gdk_event_alloc (GDK_SCROLL, surface, device, time);
 
   self->tool = tool != NULL ? g_object_ref (tool) : NULL;
   self->state = state;
   self->direction = direction;
-  self->pointer_emulated = emulated;
   self->unit = GDK_SCROLL_UNIT_WHEEL;
 
   return (GdkEvent *) self;
index 3b1bcd4b94338dcf57410e3b8271c6740faa0796..3d6c507a0e07fd401121f87edf344db3c00eea4d 100644 (file)
@@ -206,8 +206,6 @@ struct _GdkTouchEvent
  *   %GDK_SCROLL_SMOOTH).
  * @delta_x: the x coordinate of the scroll delta
  * @delta_y: the y coordinate of the scroll delta
- * @pointer_emulated: whether the scroll event was the result of
- *   a pointer emulation
  * @tool: a `GdkDeviceTool`
  * @history: (element-type GdkTimeCoord): array of times and deltas
  *   for other scroll events that were compressed before delivering the
@@ -231,7 +229,6 @@ struct _GdkScrollEvent
   GdkScrollDirection direction;
   double delta_x;
   double delta_y;
-  gboolean pointer_emulated;
   gboolean is_stop;
   GdkDeviceTool *tool;
   GArray *history; /* <GdkTimeCoord> */
@@ -496,8 +493,7 @@ GdkEvent * gdk_scroll_event_new_discrete (GdkSurface         *surface,
                                           GdkDeviceTool      *tool,
                                           guint32             time,
                                           GdkModifierType     state,
-                                          GdkScrollDirection  direction,
-                                          gboolean            emulated);
+                                          GdkScrollDirection  direction);
 
 GdkEvent * gdk_touch_event_new          (GdkEventType      type,
                                          GdkEventSequence *sequence,
index 7767faef678ad3f1b2ebedf8a18be7545b901793..7eaa6dca03c9e3bf9d3c58c6e5ca4ae4a24afbaa 100644 (file)
@@ -700,8 +700,7 @@ fill_scroll_event (GdkMacosDisplay *self,
                                            NULL,
                                            get_time_from_ns_event (nsevent),
                                            state,
-                                           direction,
-                                           FALSE);
+                                           direction);
     }
 
   if (phase == NSEventPhaseEnded || phase == NSEventPhaseCancelled)
index 322ee2d88b42881045ed0294231f7f464194f9a4..2d192f8550f9e2c2259ab84fb5037a42ff4b81f4 100644 (file)
@@ -1394,8 +1394,7 @@ flush_discrete_scroll_event (GdkWaylandSeat     *seat,
                                          NULL,
                                          seat->pointer_info.time,
                                          device_get_modifiers (seat->logical_pointer),
-                                         direction,
-                                         TRUE);
+                                         direction);
 
   _gdk_wayland_display_deliver_event (seat->display, event);
 }
index be5598ed257c0f202197df536cb52faffbad43dd..a146333b5da88dac65a2a853086110f7a29c9829 100644 (file)
@@ -1655,8 +1655,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                                    NULL,
                                                    xev->time,
                                                    _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group),
-                                                   direction,
-                                                   FALSE);
+                                                   direction);
 
           }
         else
@@ -1758,8 +1757,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                                        NULL,
                                                        xev->time,
                                                        state,
-                                                       direction,
-                                                       FALSE);
+                                                       direction);
               }
             else
               {